﻿namespace WMS6.Services
{
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ServiceModel;
    using WMS6.DataEntity;
    using WMS6.QueryEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface IInboundService
    {
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        string BatchExecutePalletizing(List<string> receiptID, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), OperationContract]
        string BatchRevertPalletizing(List<string> receiptID, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        string CheckPoIsGeneratedASN(string PoID, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        string CloseReceipt(List<string> receiptIDS, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        string DeleteReceiptInfo(List<string> receiptIDS, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        string ExecutePalletizing(string receiptID, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(AdjustmentQueryEntity))]
        DataSet GetAdjustmentAllInfo(PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(AdjustmentInfo)), ServiceKnownType(typeof(PubParasInfo))]
        AdjustmentInfo GetAdjustmentInfoByID(string id, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(AdjustmentQueryEntity)), OperationContract]
        DataSet GetAdjustmentInfoByQueryEntity(AdjustmentQueryEntity obj, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        DataSet GetAllReceiptInfo(PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(ReceiptInfo)), OperationContract]
        ReceiptInfo GetReceiptInfoByID(string receiptID, ReceiptDetailQueryEntity receiptDetailQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), OperationContract, ServiceKnownType(typeof(ReceiptInfo))]
        ReceiptInfo GetReceiptInfoByID4Exec(string receiptID, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(ReceiptDetailQueryEntity)), OperationContract]
        DataSet GetReceiptInfoByQueryEntity(ReceiptQueryEntity receiptQuery, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ReceiptInfo)), ServiceKnownType(typeof(AdjustmentInfo)), OperationContract]
        ReceiptInfo ImporFormSo(string soID, List<string> lineID, string vreceiptID, string maxLineID, string receiptType, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), OperationContract]
        string ImportFormPo(string poID, string receiptID, string type, string createdBy, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(ReceiptInfo))]
        string InsertReceiptInfo(ReceiptInfo receiptInfo, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(AdjustmentInfo)), OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        string ReceiptRevert(AdjustmentInfo adjustmentInfo, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        string RevertPalletizing(string receiptID, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(ReceiptInfo)), OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        string UpdateReceiptInfo(ReceiptInfo receiptInfo, PubParasInfo pubParasInfo);
    }
}

